<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>JSP实现客户信息管理系统-JSP技巧-JSP编程-硕编程</title>
    <meta name="keywords" content="JSP实现客户信息管理系统" />
    <meta name="description" content="JSP实现客户信息管理系统" />
    <link rel="SHORTCUT ICON" href="/yapf.ico"/>
    <link rel="apple-touch-icon-precomposed" href="/yapf.png">
    <link rel="stylesheet" type="text/css" href="/Public/Home/css/style.css">
    <script type="text/javascript" src="/Public/Home/js/jquery-2.1.4.min.js"></script> 
</head>

<body>
    <div id="header_wrap">
        <div class="header">
            <div class="header_div">
                <div class="logo">
                    <a href="/"><img src="/Public/Home/images/logo.png"/></a>
                </div>
                <div class="hotline">
                    <img src="/Public/Home/images/hotline.png" />
                </div>
                <div id="menu" class="menu">
                    <ul>
                        <li>
                            <a href="/" data-id="home">网站首页</a>
                        </li>
                                                    <li>
                                <a href="/asp.html" data-id="asp">ASP编程</a>
                            </li>
                                                    <li>
                                <a href="/php.html" data-id="php">PHP编程</a>
                            </li>
                                                    <li>
                                <a href="/python.html" data-id="python">Python编程</a>
                            </li>
                                                    <li>
                                <a href="/javascript.html" data-id="javascript">JavaScript编程</a>
                            </li>
                                                    <li>
                                <a href="/java.html" data-id="java">Java编程</a>
                            </li>
                                                    <li>
                                <a href="/cjj.html" data-id="cjj">C++编程</a>
                            </li>
                                                    <li>
                                <a href="/jsp.html" data-id="jsp">JSP编程</a>
                            </li>
                                                    <li>
                                <a href="/database.html" data-id="database">数据库</a>
                            </li>
                                            </ul>
                </div>
            </div>
        </div>
        <div class="banner">
            <img src="/Public/Home/images/yxxjz.jpg">
        </div>
    </div> 
    <div id="main">
        <div class="rightpart">
            <div class="classlist">
                <ul>
                                            <li><a href="/PC/jsp_jc.html">JSP基础</a></li>
                                            <li><a href="/PC/jsp_jq.html">JSP技巧</a></li>
                                            <li><a href="/PC/jsp_sz.html">JSP实战</a></li>
                                    </ul>
            </div>
            <div class="title_name">
                <a href="/">首页</a> » <a href="/jsp.html">JSP编程</a> » <a href = "/PC/jsp_jq.html">JSP技巧</a>            </div>
            <div class="news_con news_con_xx">
                <div class="article_bt">JSP实现客户信息管理系统</div>
                <div class="article_con">
                    
                            <p>本文实例为大家分享了jsp实现客户信息管理系统的具体代码，供大家参考，具体内容如下</p>
<p>项目示意图大概这样吧。我自己画的 <br />
</p>
<p style="text-align: center"><img title="" alt="" src="/Uploads/202312312230046858.png" /></p>
<p>登录界面代码</p>
<p>index.jsp: 完全没技术含量的，直接调用一个servlet控制的是否登录</p>
<div>
<pre>
&lt;%@ page language="java" import="java.util.*" pageencoding="utf-8"%&gt;

&lt;!doctype html public "-//w3c//dtd html 4.01 transitional//en"&gt;
&lt;html&gt;
 &lt;head&gt;

 &lt;title&gt;客户信息管理系统登录&lt;/title&gt;
 &lt;/head&gt;

 &lt;body&gt;

   &lt;h2&gt;客户信息管理系统登录&lt;/h2&gt;
   &lt;form action="loginservlet" method="post"&gt;
   用户名：&lt;input type="text" name="name"/&gt;&lt;br/&gt;
   密 码：&lt;input type="text" name="pwd"/&gt;&lt;br/&gt;
   &lt;input type="submit" value="登录"/&gt;
   &lt;/form&gt;
 &lt;/body&gt;
&lt;/html&gt;
</pre>
</div>
<p>控制登录的 loginservlet</p>
<div>
<pre>
public class loginservlet extends httpservlet {

 public void doget(httpservletrequest request, httpservletresponse response)
   throws servletexception, ioexception {
  dopost(request, response);
 }

 public void dopost(httpservletrequest request, httpservletresponse response)
   throws servletexception, ioexception {
   string name = request.getparameter("name");
   string pwd = request.getparameter("pwd");
   //此时应该要把账号密码封装成javabean 访问后台数据库验证登录，这里简化了
   if(name!=null &amp;&amp; name.startswith("hncu") &amp;&amp; pwd!=null &amp;&amp;pwd.length()&gt;3){
    //登录成功，访问主页
    request.getsession().setattribute("name", name);
    request.getrequestdispatcher("/jsps/table.jsp").forward(request, response);
   }else{//登录失败，重修返回登录界面
    response.sendredirect(request.getcontextpath()+"/index.jsp");
   }

 }

}

</pre>
</div>
<p>进来之后就到我们的主页后点击添加按钮，开头弹出一个窗口让我们输入添加的信息 <br />
</p>
<p style="text-align: center"><img title="" alt="" src="/Uploads/202312312230059871.png" /></p>
<p>这个技术原理</p>
<div>
<pre>
function add(){
 var url = path+"/jsps/input.jsp";
 var returnvalue =window.showmodaldialog(url, "","dialogheight:400px;dialogwidth:300pxl;status:no");
  if(returnvalue){
//    alert(returnvalue.id);
   realadd(returnvalue);
  }
}
</pre>
</div>
<p>url:是弹出小窗口的路径。后面是设置弹出窗口的参数。 <br />
返回值可以拖过这个语句提供</p>
<div>
<pre>
window.returnvalue=obj;

</pre>
</div>
<p>下面是这个添加过程的示意图 <br />
</p>
<p style="text-align: center"><img title="" alt="" src="/Uploads/202312312230067080.png" /></p>
<p>主页代码以及js代码</p>
<div>
<pre>
&lt;%@ page language="java" import="java.util.*" pageencoding="utf-8"%&gt;
&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
&lt;!doctype html public "-//w3c//dtd html 4.01 transitional//en"&gt;
&lt;html&gt;
 &lt;head&gt;
 &lt;link rel="stylesheet" type="text/css" href="&lt;c:url value='/css/table.css'/&gt;" rel="external nofollow" &gt;
 &lt;title&gt;客户信息管理系统&lt;/title&gt;
 &lt;script type="text/javascript" src='&lt;c:url value="/js/table.js"/&gt;'&gt;&lt;/script&gt;
  &lt;script type="text/javascript"&gt;
  var path = "&lt;c:url value='/'/&gt;";
  &lt;/script&gt;
 &lt;/head&gt;

 &lt;body&gt;
   &lt;h2&gt;客户信息管理系统&lt;/h2&gt;
   &lt;input type="button" onclick="del();" value="删除"/&gt;
   &lt;input type="button" value="添加" onclick="add()" &gt;

   &lt;table id="tb"&gt;
   &lt;tr&gt;
    &lt;th&gt;选择&lt;input type="checkbox" id="parentchk" onclick="chk(this);"&gt;&lt;/th&gt;
   &lt;th&gt;姓名&lt;/th&gt;&lt;th&gt;年龄&lt;/th&gt;&lt;th&gt;地址&lt;/th&gt;&lt;th class="iid"&gt;id&lt;/th&gt;
   &lt;/tr&gt;
   &lt;/table&gt;

 &lt;form name="f1" target="ifrm" action="&lt;c:url value='/delservlet'/&gt;" method="post"&gt;
  &lt;input id="ids" type="hidden" name="ids"/&gt; 
  &lt;/form&gt;
  &lt;iframe name="ifrm" style="display:none;"&gt;&lt;/iframe&gt;
 &lt;/body&gt;
&lt;/html&gt;
</pre>
</div>
<p>table.js</p>
<div>
<pre>
 function add(){
  var url = path+"/jsps/input.jsp";
  //var vreturnvalue = window.showmodaldialog(url,"","dialogwidth:400px;dialogheight:200px;status:no;");
  var returnvalue =window.showmodaldialog(url, "","dialogheight:400px;dialogwidth:300pxl;status:no");
  if(returnvalue){
//    alert(returnvalue.id);
   realadd(returnvalue);
  }
}
// 把封装过来的数据实际插入到表格
 function realadd(obj){
  var tb = document.getelementbyid("tb");
  var otr = tb.insertrow();
  var ocell = otr.insertcell();
  ocell.innerhtml='&lt;input type="checkbox" name="chk" onclick="subchk(this);"/&gt;';
  ocell = otr.insertcell();
  ocell.innerhtml=obj.name;

  ocell = otr.insertcell();
  ocell.innerhtml=obj.age;

  ocell = otr.insertcell();
  ocell.innerhtml=obj.addr;

  ocell = otr.insertcell();
  ocell.innerhtml=obj.id;
  ocell.classname="iid";
}

//全先复选框，点击上面的全选框。下面的所有复选框都要全选
function chk(obj){
 var chks = document.getelementsbyname("chk");
 var len = chks.length;
 for(var i=0; i&lt;len; i++){
  chks[i].checked = obj.checked;
 }
}
//通过统计下面的复选框的选择情况，决定上面的复习框的三种状态
function subchk(obj){
 var chks = document.getelementsbyname("chk");
 var n=0; //统计表格行中被勾选中的行数
 for(var i=0;i&lt;chks.length;i++){
  if(chks[i].checked){
   n++;
  }
 }

 var parentchk = document.getelementbyid("parentchk");
 if(n==0){
  parentchk.indeterminate=false;//※※※不能省
  parentchk.checked=false;
 }else if(n==chks.length){
  parentchk.indeterminate=false;//※※※不能省
  parentchk.checked=true;
 }else{
  parentchk.indeterminate=true;
 }

}

//把用户选中行的id提交给后台,后台删除成功后返回true
function del(){
 //以后我们应该用json去封装所有的id，提交给后台处理(暂时我们还没学)。
 //现在我们暂时用字符拼接的方式来做,有潜在bug的
 var tb = document.getelementbyid("tb");
 var chks = document.getelementsbyname("chk");

 var ids="";
 for(var i=0;i&lt;chks.length;i++){
  if(chks[i].checked){
   //alert("aaa");
   //把该行的id值获取出来
   var otr = chks[i].parentnode.parentnode;
   //alert(otr);
   var id = otr.cells[4].innertext;
   //alert(id);

   if(ids==""){
    ids=id;
   }else{
    ids = ids +"," +id;
   }
  }
 }

 if(ids==""){
  alert("请选择要删除的行");
 }else{
  document.getelementbyid("ids").value=ids;
  document.forms['f1'].submit();
 }
}

function realdel(boo){
 if(!boo){
  alert("删除失败!");
  return;
 }

 var tb = document.getelementbyid("tb");
 var chks = document.getelementsbyname("chk");
 var len = chks.length;
 //倒着删
 for(var i=len-1;i&gt;=0;i--){
  if(chks[i].checked){
   tb.deleterow(i+1);
  }
 }

 var chks = document.getelementsbyname("chk");
 var n=0; //统计表格行中被勾选中的行数
 for(var i=0;i&lt;chks.length;i++){
  if(chks[i].checked){
   n++;
  }
 }
 // 删除之后更细上面复选框的状态
 var parentchk = document.getelementbyid("parentchk");
 if(n==0){
  parentchk.indeterminate=false;//※※※不能省
  parentchk.checked=false;
 }else if(n==chks.length){
  parentchk.indeterminate=false;//※※※不能省
  parentchk.checked=true;
 }else{
  parentchk.indeterminate=true;
 }


}
</pre>
</div>
<p>input.jsp</p>
<div>
<pre>
&lt;%@ page language="java" import="java.util.*" pageencoding="utf-8"%&gt;
&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
&lt;!doctype html public "-//w3c//dtd html 4.01 transitional//en"&gt;
&lt;html&gt;
 &lt;body&gt;
  &lt;h3&gt;客户信息添加&lt;/h3&gt;
  &lt;form target="ifrm" name="ss" action="&lt;c:url value='/saveservlet' /&gt;" method="post"&gt;
   姓名:&lt;input type="text" name="name"/&gt;&lt;br/&gt;
    年龄:&amp;nbsp;&lt;input type="text" name="age"/&gt;&lt;br/&gt;
    地址:&lt;input type="text" name="addr"/&gt;&lt;br/&gt;&lt;br/&gt;
   &lt;input type="button" value="添加" onclick="save();"/&gt; &amp;nbsp;&amp;nbsp;
   &lt;input type="button" value="取消" onclick="window.close();"/&gt;&lt;br/&gt;
  &lt;/form&gt;

  &lt;iframe name="ifrm" style="display:none;"&gt;&lt;/iframe&gt;

 &lt;script type="text/javascript"&gt;
  function save(){
   document.forms['ss'].submit();
  }

  //该方法由后台返回的saveback.jsp(在iframe中,子页)反调这里(父页)
  function realsave(obj){
   //window.returnvalue="aa";
   //window.close();
   window.returnvalue=obj;
   window.close();
  }
 &lt;/script&gt;
 &lt;/body&gt;
&lt;/html&gt;
</pre>
</div>
<p>save.jsp</p>
<div>
<pre>
&lt;%@ page language="java" import="java.util.*;" pageencoding="utf-8"%&gt;
&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
&lt;script type="text/javascript"&gt;
 var user = new object();
 user.name = '&lt;c:out value="${user.name}"/&gt;';
 user.id = '&lt;c:out value="${user.id}"/&gt;';
 user.age = '&lt;c:out value="${user.age}"/&gt;';
 user.addr = '&lt;c:out value="${user.addr}"/&gt;';
 parent.realsave(user);
&lt;/script&gt;
</pre>
</div>
<p>在后面是删除的过程 <br />
</p>
<p style="text-align: center"><img title="" alt="" src="/Uploads/202312312230066596.png" /></p>
<p>delback.jsp</p>
<div>
<pre>
&lt;%@ page language="java" import="java.util.*" pageencoding="utf-8"%&gt;
&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
&lt;script type="text/javascript"&gt;
 //用jstl在js页面中把从后台获取出来
 var boo = "&lt;c:out value='${succ}' /&gt;";
 parent.realdel(boo);
&lt;/script&gt;

</pre>
</div>
<p>更多学习资料请关注专题《<a target="_blank" href="#">管理系统开发</a>》。</p>
<p>以上就是本文的全部内容，希望对大家的学习有所帮助，也希望大家多多支持硕编程。</p>
                            
                                            </div>
            </div>
            <div class="article_xg">
                <div class="article_xg_bt">相关文章</div>
                <ul>
                                            <li><a href="/jsp/jsp_jq/1403.html">jsp+servlet实现文件上传与下载功能</a></li>
                                            <li><a href="/jsp/jsp_jq/1406.html">EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常</a></li>
                                            <li><a href="/jsp/jsp_jq/1407.html">在JSP中使用formatNumber控制要显示的小数位数方法</a></li>
                                            <li><a href="/jsp/jsp_jq/1410.html">秒杀系统Web层设计的实现方法</a></li>
                                            <li><a href="/jsp/jsp_jq/1411.html">将properties文件的配置设置为整个Web应用的全局变量实现方法</a></li>
                                            <li><a href="/jsp/jsp_jq/1462.html">JSP使用过滤器防止Xss漏洞</a></li>
                                            <li><a href="/jsp/jsp_jq/1465.html">在JSP页面中动态生成图片验证码的方法实例</a></li>
                                            <li><a href="/jsp/jsp_jq/1468.html">详解JSP 内置对象request常见用法</a></li>
                                            <li><a href="/jsp/jsp_jq/1469.html">使用IDEA编写jsp时EL表达式不起作用的问题及解决方法</a></li>
                                            <li><a href="/jsp/jsp_jq/1470.html">jsp实现局部刷新页面、异步加载页面的方法</a></li>
                                            <li><a href="/jsp/jsp_jq/1472.html">Jsp中request的3个基础实践</a></li>
                                            <li><a href="/jsp/jsp_jq/1474.html">JavaServlet的文件上传和下载实现方法</a></li>
                                            <li><a href="/jsp/jsp_jq/1475.html">JSP页面的静态包含和动态包含使用方法</a></li>
                                    </ul>
            </div>
        </div>
        <div class="leftpart">
            <div class="leftmenu">
                <div class="bigtitle"><span class="bigtitle_arr"><img src="/Public/Home/images/arr.png"></span><span class="bigtitle_bt">JSP技巧</span></div>
                <div class="menu_list">
                    <ul>
                                                    <li>
                                <a href="/jsp/jsp_jq/1403.html" title="jsp+servlet实现文件上传与下载功能">jsp+servlet实现文件上传与下载功能</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1406.html" title="EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常">EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1407.html" title="在JSP中使用formatNumber控制要显示的小数位数方法">在JSP中使用formatNumber控制要显示的小数位数方法</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1410.html" title="秒杀系统Web层设计的实现方法">秒杀系统Web层设计的实现方法</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1411.html" title="将properties文件的配置设置为整个Web应用的全局变量实现方法">将properties文件的配置设置为整个Web应用的全局变量实现方法</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1462.html" title="JSP使用过滤器防止Xss漏洞">JSP使用过滤器防止Xss漏洞</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1465.html" title="在JSP页面中动态生成图片验证码的方法实例">在JSP页面中动态生成图片验证码的方法实例</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1468.html" title="详解JSP 内置对象request常见用法">详解JSP 内置对象request常见用法</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1469.html" title="使用IDEA编写jsp时EL表达式不起作用的问题及解决方法">使用IDEA编写jsp时EL表达式不起作用的问题及解决方法</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1470.html" title="jsp实现局部刷新页面、异步加载页面的方法">jsp实现局部刷新页面、异步加载页面的方法</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1472.html" title="Jsp中request的3个基础实践">Jsp中request的3个基础实践</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1474.html" title="JavaServlet的文件上传和下载实现方法">JavaServlet的文件上传和下载实现方法</a>
                            </li>
                                                    <li>
                                <a href="/jsp/jsp_jq/1475.html" title="JSP页面的静态包含和动态包含使用方法">JSP页面的静态包含和动态包含使用方法</a>
                            </li>
                                            </ul>
                </div>
            </div>
        </div>
    </div>
    <div id="footer">
        <div class="foot_Info">
            <div class="foot_left">
                                                                            <a href="/asp.html">ASP编程</a>
                                                         |                         <a href="/python.html">Python编程</a>
                                                         |                         <a href="/javascript.html">JavaScript编程</a>
                                                         |                         <a href="/java.html">Java编程</a>
                                                         |                         <a href="/php.html">PHP编程</a>
                                                         |                         <a href="/cjj.html">C++编程</a>
                                                         |                         <a href="/database.html">数据库</a>
                                                         |                         <a href="/jsp.html">JSP编程</a>
                                                     | <a href="/AboutUs.html">关于我们</a> | <a href="/Disclaimers.html">免责声明</a>
                <br/>
                      交流QQ：254677821 &nbsp; &nbsp;<a href="https://beian.miit.gov.cn/" target="_blank">苏ICP备2023046935号</a>&nbsp;【范军手札】旗下平台：<a href="/">硕编程</a>、<a href="https://www.51frw.cn" target="_blank">无忧编程</a>&nbsp;、<a href="http://www.wfgk.net" target="_blank">威凡网</a>&nbsp;<br />                <script language="javascript" src="/Public/Home/js/bq.js"></script>
            </div>
            <div class="foot_right">
                <a href="/"><img src="/Public/Home/images/logo_foot.png"/></a>
            </div>
        </div>
    </div>
<script type="text/javascript">
    var _wjm = "jsp";
    $(document).ready(function(){
        function setMenu(){
            $('#menu li a').each(function(){
                var _this = $(this);
                _this.removeClass('current');
                if(_this.attr('data-id')==_wjm){
                    _this.addClass('current');
                }
            });
        }
        setMenu();
    });
</script>
<script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js"></script>
<script>LA.init({id:"KGg7MP3bYwY5k4YK",ck:"KGg7MP3bYwY5k4YK"})</script>
</body>
</html>